package com.jz.netthings.application.providerCollection.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.jz.netthings.application.providerCollection.bean.CollPrintSupport;
import com.jz.netthings.application.providerCollection.bean.ProviderCollection;
import com.baomidou.mybatisplus.service.IService;
import com.jz.netthings.application.providerCollection.bean.QueryProviderCollection;
import com.jz.netthings.exception.AdscmSystemException;
import com.jz.netthings.security.utils.Token;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zyl
 * @since 2019-03-14
 */
public interface ProviderCollectionService extends IService<ProviderCollection> {

    Page<ProviderCollection> selectNoDealProviderCollection(Page<ProviderCollection> page, QueryProviderCollection queryProviderCollection);

    Boolean updateNoDealProviderCollection(ProviderCollection providerCollection, Token token) throws AdscmSystemException;

    /**
     * 采浆完成后，其他一系列处理，包括：费用计算，第二天的小样记录，热合记录
     * @param providerCollection
     * @return
     * @throws AdscmSystemException
     */
    void dealProviderCollection(ProviderCollection providerCollection) throws AdscmSystemException;

    Page<ProviderCollection> selectProviderCollection(Page<ProviderCollection> page, QueryProviderCollection queryProviderCollection) throws AdscmSystemException;

    ProviderCollection selectProviderCollectionById(String id);

    /**
     *
     * 查询采浆打印数据
     * @param startDate 采浆开始时间
     * @param endDate 采浆结束时间
     * @return
     * @throws AdscmSystemException
     */
    CollPrintSupport selectPrintList(String startDate, String endDate)throws AdscmSystemException;
}
